package com.mall.system.feign;

import com.mall.common.result.Result;
import com.mall.common.entity.User;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

/**
 * 用户服务Feign客户端降级处理
 */
@Slf4j
@Component
public class UserServiceFeignClientFallback implements UserServiceFeignClient {
    
    @Override
    public Result<User> getUserByUsername(String username) {
        log.error("获取用户信息失败，服务降级处理");
        return Result.failed("获取用户信息失败");
    }
    
    @Override
    public Result<User> getUserByMobile(String mobile) {
        log.error("根据手机号获取用户信息失败，服务降级处理");
        return Result.failed("获取用户信息失败");
    }
    
    @Override
    public Result<User> getUserByEmail(String email) {
        log.error("根据邮箱获取用户信息失败，服务降级处理");
        return Result.failed("获取用户信息失败");
    }
    
    @Override
    public Result<Boolean> register(User user) {
        log.error("用户注册失败，服务降级处理");
        return Result.failed("用户注册失败");
    }
    
    @Override
    public Result<User> createUser(User user) {
        log.error("创建用户失败，服务降级处理");
        return Result.failed("创建用户失败");
    }
    
    @Override
    public Result<User> getUserByUniqueId(String uniqueId) {
        log.error("根据第三方平台唯一ID获取用户失败，服务降级处理");
        return Result.failed("获取用户信息失败");
    }
    
    @Override
    public Result<Boolean> updateUser(User user) {
        log.error("更新用户信息失败，服务降级处理");
        return Result.failed("更新用户信息失败");
    }
    
    @Override
    public Result<User> getUserById(Long userId) {
        log.error("根据用户ID获取用户失败，服务降级处理");
        return Result.failed("获取用户信息失败");
    }
}